1. Field of the Invention
The present invention relates generally to an apparatus and method for communicating packets of a Media Access Control (MAC) layer in a broadband wireless communication system and in particular, to an apparatus and method for varying the length of an error check code of a PDU according to the length of a payload in a broadband wireless communication system.
2. Description of the Related Art
Several wireless communication technologies are currently proposed as viable candidates for high-speed mobile communication. Among the technologies, Orthogonal Frequency Division Multiplexing (OFDM) scheme is being considered as the most promising next-generation wireless communication technology. The OFDM scheme is expected to be used in most of the upcoming wireless communication technologies. The Wireless Metropolitan Area Network (WMAN) based on the Institute of Electrical and Electronics Engineers (IEEE) 802.16 called the 3.5th generation (3.5G) technology is also adopting the OFDM scheme as the standard specification.
Wireless data communication may experience a data error depending on the conditions of wireless channels. Schemes for controlling and recovering such a data error can be broadly classified into an Automatic Repeat reQuest (ARQ) scheme and a Forward Error Correction (FEC) scheme. The ARQ scheme transmits a retransmission request for lost data from the receiving (RX) side to the transmitting (TX) side, and the FEC scheme corrects an error in lost data.
In the ARQ scheme, the results of error check (e.g., cyclic redundancy check (CRC)) for packets must be fed back from the RX side to the TX side. First, when the TX side initially transmits a packet, the RX side decodes the received packet. At this point, if there is no error, the RX side transmits an ACKnowledgement (ACK) signal to the TX side. On the other hand, if there is an error, the RX side transmits a Negative ACKnowledgement (NACK) signal to the TX side.
In general, a TX MAC layer converts a service data unit (SDU) received from an upper layer (e.g., an Internet Protocol (IP) layer) into a protocol data unit (PDU), and transfers the PDU to a physical layer. Then, the RX MAC layer converts the PDU received from the physical layer into an SDU, and transfers the SDU to the upper layer. At this point, for reliable transmission, the TX side generates and transmits a MAC PDU including a CRC code. Then, using the CRC code of the MAC PDU received from the TX side, the RX side checks whether there is an error. If there is an error, the RX side transmits a NACK signal for a retransmission request to the TX side.
FIG. 1 illustrates the PDU format of a MAC layer in a conventional broadband wireless communication system.
Referring to FIG. 1, a MAC PDU includes a payload carrying actual data, a generic MAC header prefixed to the payload, and a CRC code suffixed to the payload. The payload and the CRC code may not be included in some applications. However, the CRC code must be included for the application of a MAC ARQ.
FIG. 2 illustrates the format of the generic MAC header included in the MAC PDU.
Referring to FIG. 2, the generic MAC header includes an HT (Header Type) field used to write a header type, an EC (Encryption Control) field used to write encryption control information, a Type field used to write payload identifier information, a CI (CRC Indicator) field used to indicate the use or not of a CRC code, an EKS (Encryption Key Sequence) field used to write an encryption key sequence, an RSV (Reserved) field, a LEN (LENgth) field used to write the total length of the MAC PDU, a CID (Connection IDentifier) field used to write a CID, and an HCS (Header Check Sum) field used to write a check sum of the header.
Conventionally, the length of the CRC code of the MAC PDU is fixed at 4 bytes. However, when the CRC code length is fixed, the CRC code used is often too long even in a PDU with a short payload, such as a voice packet (e.g., a Voice-over-IP (VoIP) packet) and a Transmission Control Protocol (TCP) ACK signal. When the CRC code used is too long in relation to the length of the actual data (i.e., the payload), the overhead of the MAC layer is further increased. On the other hand, when the CRC code is too short in relation to the actual data length, error detection is performed incorrectly.
As described above, when the CRC code length is fixed regardless of the actual data length, various problems may arise.